package com.ap.core.business.message.response.translators;

import com.ap.core.backoffice.domain.BackOfficeOrderPayment;
import com.ap.core.business.info.ValidationInfo;
import com.ap.core.common.types.InputMessageType;
import com.ap.core.common.types.ValidationStatus;
import com.ap.core.domain.OrderPayment;
import com.ap.core.domain.OrderPaymentRefund;
import com.ap.core.transaction.APTransactionInfo;

import java.util.List;

/**
 * User: Ranjit.Singh
 */
public class ResponseMetaData {

    private APTransactionInfo apTransaction;
    private String basketReferenceNumber;
    private String reconciliationId;
    private InputMessageType inputMessageType;
    private String mobileAppIntentId;
    private ValidationStatus validationStatus;
    private List<ValidationInfo> errorCodesInfo;
    private OrderPayment originalReadOnlyOrderPayment;
    private OrderPaymentRefund orderPaymentRefund;
    private BackOfficeOrderPayment backOfficeOrderPayment;

    public ResponseMetaData(){
        validationStatus = ValidationStatus.VALID;
    }



    public void setBasketReferenceNumber(String basketReferenceNumber) {
        this.basketReferenceNumber = basketReferenceNumber;
    }

    public void setReconciliationId(String reconciliationId) {
        this.reconciliationId = reconciliationId;
    }

    public void setMobileAppIntentId(String mobileAppIntentId) {
        this.mobileAppIntentId = mobileAppIntentId;
    }

    public void setValidationStatus(ValidationStatus validationStatus) {
        this.validationStatus = validationStatus;
    }

    public void setErrorCodesInfo(List<ValidationInfo> errorCodesInfo) {
        this.errorCodesInfo = errorCodesInfo;
    }

    public OrderPayment getOriginalReadOnlyOrderPayment() {
        return originalReadOnlyOrderPayment;
    }

    public void setOriginalReadOnlyOrderPayment(OrderPayment originalReadOnlyOrderPayment) {
        this.originalReadOnlyOrderPayment = originalReadOnlyOrderPayment;
    }

    public InputMessageType getInputMessageType() {
        return inputMessageType;
    }

    public void setInputMessageType(InputMessageType inputMessageType) {
        this.inputMessageType = inputMessageType;
    }

    public ValidationStatus getValidationStatus() {
        return validationStatus;
    }

    public List<ValidationInfo> getErrorCodesInfo() {
        return errorCodesInfo;
    }


    /**
	 * @return the apTransaction
	 */
	public APTransactionInfo getApTransaction() {
		return apTransaction;
	}



	/**
	 * @param apTransaction the apTransaction to set
	 */
	public void setApTransaction(APTransactionInfo apTransaction) {
		this.apTransaction = apTransaction;
	}



	public String getBasketReferenceNumber() {
        return basketReferenceNumber;
    }

    public String getReconciliationId() {
        return reconciliationId;
    }

    public String getMobileAppIntentId() {
        return mobileAppIntentId;
    }



	public OrderPaymentRefund getOrderPaymentRefund() {
		return orderPaymentRefund;
	}



	public void setOrderPaymentRefund(OrderPaymentRefund orderPaymentRefund) {
		this.orderPaymentRefund = orderPaymentRefund;
	}



	public BackOfficeOrderPayment getBackOfficeOrderPayment() {
		return backOfficeOrderPayment;
	}



	public void setBackOfficeOrderPayment(
			BackOfficeOrderPayment backOfficeOrderPayment) {
		this.backOfficeOrderPayment = backOfficeOrderPayment;
	}



	
}
